home *** CD-ROM | disk | FTP | other *** search
/ Aminet 3 / Aminet 3 - July 1994.iso / Aminet / dev / m2 / GenModula1_14.lha / GTB-Modula / Modules / NewArgSupport.def < prev    next >
Encoding:
Modula Definition  |  1993-10-18  |  2.2 KB  |  73 lines

  1. DEFINITION MODULE NewArgSupport;
  2.  
  3. (*
  4.  * -------------------------------------------------------------------------
  5.  *
  6.  *    :Module.    NewArgSupport
  7.  *    :Contents.    Support module to get arguments transparent from CLI or Workbench
  8.  *
  9.  *    :Author.    Reiner Nix
  10.  *    :Address.    Geranienhof 2, 5000 Köln 71 Seeberg
  11.  *    :Address.    rbnix@pool.informatik.rwth-aachen.de
  12.  *    :Copyright.    Public Domain
  13.  *    :Language.    Modula-2
  14.  *    :Translator.    M2Amiga A-L V4.2d
  15.  *    :History.    V1.0    08.08.92 ArgSupport
  16.  *    :History.    V1.1    03.04.93 NewArgSupport now getting cli-args by ReadArg
  17.  *    :History.    V1.2    17.10.93 Procedure SetArgumentInfo added.
  18.  *
  19.  * -------------------------------------------------------------------------
  20.  *)
  21.  
  22. (*
  23.  * --- NewArgSupport ------------------------------------------------------------
  24.  * Modul zur Abfrage von Programmargumenten. Das Modul verhält sich nach außen
  25.  * transparent. Es ist also egal ob beim Start über das CLI Argumente mitgegeben
  26.  * wurden, oder mittels der Workbench über ToolTypes im Icon Argumente zu benutzen
  27.  * sind.
  28.  *
  29.  * Vor Abfrage der Argumente muß mit UseArguments eine Schablone für alle
  30.  * zu beachtenden Argumente angegeben werden. Diese Schablone ist nach
  31.  * den Standardregeln zu bilden. Bei Aufruf über die Workbench wird die Schablone
  32.  * nicht benutzt.
  33.  *
  34.  * Mit SetArgumentInfo kann eine Procedur (!) angegeben werden, die Informationen
  35.  * über das Programm ausgeben soll falls keine gültige Argumentschablone beim
  36.  * Programmaufruf vom CLI aus übergeben wurde.
  37.  * ------------------------------------------------------------------------------
  38.  *)
  39.  
  40.  
  41. CONST    maxStr            =128;
  42.  
  43.  
  44. TYPE    Str            =ARRAY [0..maxStr] OF CHAR;
  45.     StrPtr            =POINTER TO Str;
  46.     StrArray        =ARRAY [0..maxStr] OF StrPtr;
  47.     StrArrayPtr        =POINTER TO StrArray;
  48.  
  49.     InfoProcedure        =PROCEDURE ();
  50.  
  51.  
  52.  
  53. PROCEDURE SetArgumentInfo    (    ArgumentInfo    :InfoProcedure);
  54.  
  55. PROCEDURE UseArguments        (    Template        :ARRAY OF CHAR);
  56.  
  57.  
  58.  
  59. PROCEDURE ArgInt        (    Keyword        :ARRAY OF CHAR;
  60.                      Default        :INTEGER) :INTEGER;
  61.  
  62. PROCEDURE ArgString        (    Keyword,
  63.                      Default        :ARRAY OF CHAR;
  64.                  VAR Value        :ARRAY OF CHAR);
  65.  
  66. PROCEDURE ArgBoolean        (    Keyword        :ARRAY OF CHAR;
  67.                      Default        :BOOLEAN) :BOOLEAN;
  68.  
  69. PROCEDURE ArgMultiple        (    Keyword        :ARRAY OF CHAR) :StrArrayPtr;
  70.  
  71.  
  72. END NewArgSupport.
  73.